Industrial robots are increasingly being used for a wider variety of applications. In most instances, it is necessary to “teach” the robot the path along which the robot must move to complete the desired operation. For example, in a welding application, the robot must be programmed to move into a number of successive orientations that will effectively move the welding torch along the seam on the workpiece.
Programming or teaching a robot a desired path conventionally has been carried out manually. An operator interacts with the robot controller and manually causes the robot to move into the necessary orientations for placing the tool into the necessary positions along the desired path. Each of the positions is then programmed into the robot controller, which later repeats the programmed path. The process is typically time-consuming, difficult and often not accurate enough to yield satisfactory results at the end of the robot operation. Further, the conventional practice includes the drawback of having the operator within the robot work space during the teaching operation, which introduces the possibility for an undesirable collision between the robot and the operator.
Several systems have been proposed that include a robot vision system for controlling robot operation. None, however, have used the vision system to teach or program the robot to follow the program path. For example, U.S. Pat. Nos. 4,616,121; 4,965,499; and 5,572,103 each include a vision system associated with an industrial robot that provides visual information for making corrections to a preprogrammed path during robot operation. Such systems have been proposed for accommodating deviations between an actual desired path and a preprogrammed path that the robot is following. In each of these systems, however, it is necessary to preprogram the robot in the conventional manner. Shortcomings of prior art are that for each part being processed the user has to explicitly teach a program.
Seam tracking can also be used to program a robot system. U.S. Pat. No. 4,812,614 describes a machine vision seam tracking method and apparatus for welding robots. The apparatus can automatically detect the deviation between an actual welding seam and a taught path where the apparatus, so as to correct the welding path, comprises an image forming means and an image processor. Through the image forming means, a light coming from a common light source, after being condensed and transmitted, can be projected onto a workpiece to form a line of light across the welding seam. A solid state camera disposed along the direction of the welding seam can detect the image of the welding seam which in turn is transmitted to the image processor. The image processor preferably is a microcomputer which comprises software for processing the images respectively formed by the butt, fillet, lap and V-groove joints so as to calculate the deviation, including the positional error across the welding seam as well as the distance variation between the welding torch and the workpiece (the so called height of the welding torch), existing between the actual welding seam and the taught path. A controller of the welding robot can convert the error signals of the welding path into the corresponding data by which the coordinates of the welding robot can be corrected to align with the actual welding seam.
However, seam tracking requires a taught path or taught program, wherein the whole continuous taught path is offset in response to a detected deviation from the taught path.
As another example of the prior art, robots can also be made to move along a path comprised of points that are available in CAD data that describes the part (i.e. CAD-to-Path). In CAD-to-Path programming, a robot path is adjusted using real-time information provided in the form of visual stimulus. However, shortcomings of CAD-to-Path include: 1) The CAD-to-Path algorithm takes too much time to execute; 2) Is too costly to produce; 3) It does not allow the robot position to be altered based upon inaccurate part placement; and 4) It does not allow for tracing manually drawn reference points or lines.
There is a need to simplify and improve current robot path teaching methods. For example, it is desirable to eliminate the need for the operator to be within the robot work envelope during the path training procedure. Additionally, it is desirable to improve efficiency in teaching a robot path by reducing the amount of time required.